package cliente.GUI;

import java.awt.*;
import javax.swing.*;
import servidor.*;

public class PanelSensores extends JPanel
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * @param args
	 */
	
	JLabel tren;
	JLabel est;
	JLabel estado;
	JPanel panelNombre;
	JButton listsensor;
	
	PanelSensor humedad;
	PanelSensor velocidad;
	PanelSensor temperatura;
	
	PanelGps panelGps;
	
	public PanelSensores(Tren t)
	{
		panelNombre = new JPanel();
		listsensor = new JButton("LISTSENSOR");
		est = new JLabel("                         Estado: ");
		estado = new JLabel();
		
		if(t != null)
		{
			tren = new JLabel("                " + t.getNombre());
		
			if(Estado.En_mantenimiento.equals(t.getEstado()))
				estado.setText("En Mantenimiento");
			else
				if(Estado.Funcionando.equals(t.getEstado()))
					estado.setText("Funcionando");
				else
					estado.setText("Parado");
		
			temperatura = new PanelSensor(t.getTemperatura());
			velocidad = new PanelSensor(t.getVelocidad());
			humedad = new PanelSensor(t.getHumedad());
		
			panelGps = new PanelGps(t.getGPS());
		}
		else
		{
			tren = new JLabel("                ");
			estado = new JLabel(" -- ");
			
			humedad = new PanelSensor(null);
			velocidad = new PanelSensor(null);
			temperatura = new PanelSensor(null);
			
			panelGps = new PanelGps(null);
		}
		
		tren.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 25));

		temperatura.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
		velocidad.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
		humedad.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
		panelGps.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
		
		JPanel e = new JPanel();
		e.setLayout(new GridLayout(1, 2));
		e.add(est);
		e.add(estado);
		
		panelNombre.setLayout(new GridLayout(2, 1));
		panelNombre.add(tren);
		panelNombre.add(e);
		
		this.setLayout(new GridLayout(6, 1));
		this.add(panelNombre);
		this.add(panelGps);
		this.add(temperatura);
		this.add(velocidad);
		this.add(humedad);
		JPanel p = new JPanel();
		p.add(listsensor);
		this.add(p);
	}
	
	public void cargarTren(Tren t)
	{
		tren.setText("                " + t.getNombre());
		
		if(Estado.En_mantenimiento.equals(t.getEstado()))
			estado.setText("En Mantenimiento");
		else
			if(Estado.Funcionando.equals(t.getEstado()))
				estado.setText("Funcionando");
			else
				estado.setText("Parado");
		
		temperatura.cargarSensor(t.getTemperatura());
		velocidad.cargarSensor(t.getVelocidad());
		humedad.cargarSensor(t.getHumedad());
	
		panelGps.cargarGps(t.getGPS());
	}
	
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		
		Sensor h = new Sensor();
		h.setDescripcion("Humedad");
		h.setEstado(false);
		
		Sensor v = new Sensor();
		v.setDescripcion("Velocidad");
		v.setEstado(true);
		
		Sensor t = new Sensor();
		t.setDescripcion("Temperatura");
		t.setEstado(true);
		
		Tren tren = new Tren();
		tren.setId(88);
		tren.setEstado(Estado.Parado);
		tren.setGPS(new GPS());
		tren.setHumedad(h);
		tren.setTemperatura(t);
		tren.setVelocidad(v);
		
		JFrame f = new JFrame();
		f.setLayout(new BorderLayout());
		f.add(new PanelSensores(tren), "Center");
		f.pack();
		f.setVisible(true);
	}

}
